package com.ruoyi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 【核心业务】桌台时长卡规则操作记录（记录所有时长卡变更操作）对象 table_duration_card_operations
 *
 * @author ruoyi
 * @date 2025-05-22
 */
public class TableDurationCardOperations extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 操作记录唯一标识符（自增主键，业务中可用于追溯操作流水） */
    private Long id;

    /** 桌台时长卡编号（如TC001，需与业务系统中的时长卡编号保持一致） */
    @Excel(name = "桌台时长卡编号", readConverterExp = "如=TC001，需与业务系统中的时长卡编号保持一致")
    private String tableDurationCardId;

    /** 时长卡所属门店的完整信息（格式示例：北京市朝阳区XX店-BJ-CY-001） */
    @Excel(name = "时长卡所属门店的完整信息", readConverterExp = "格=式示例：北京市朝阳区XX店-BJ-CY-001")
    private String storeInfo;

    /** 实际执行操作的门店（支持跨门店管理场景，如总部修改分店时长卡） */
    @Excel(name = "实际执行操作的门店", readConverterExp = "支=持跨门店管理场景，如总部修改分店时长卡")
    private String operationStore;

    /** 操作类型枚举值（严格限定为三种标准操作，避免数据混乱） */
    @Excel(name = "操作类型枚举值", readConverterExp = "严=格限定为三种标准操作，避免数据混乱")
    private String operationType;

    /** 操作员工姓名（建议同步记录员工ID，可通过外键关联员工表） */
    @Excel(name = "操作员工姓名", readConverterExp = "建=议同步记录员工ID，可通过外键关联员工表")
    private String operatorName;

    /** 手机号 */
    @Excel(name = "手机号")
    private String phone;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setTableDurationCardId(String tableDurationCardId)
    {
        this.tableDurationCardId = tableDurationCardId;
    }

    public String getTableDurationCardId()
    {
        return tableDurationCardId;
    }

    public void setStoreInfo(String storeInfo)
    {
        this.storeInfo = storeInfo;
    }

    public String getStoreInfo()
    {
        return storeInfo;
    }

    public void setOperationStore(String operationStore)
    {
        this.operationStore = operationStore;
    }

    public String getOperationStore()
    {
        return operationStore;
    }

    public void setOperationType(String operationType)
    {
        this.operationType = operationType;
    }

    public String getOperationType()
    {
        return operationType;
    }

    public void setOperatorName(String operatorName)
    {
        this.operatorName = operatorName;
    }

    public String getOperatorName()
    {
        return operatorName;
    }

    public void setPhone(String phone)
    {
        this.phone = phone;
    }

    public String getPhone()
    {
        return phone;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("tableDurationCardId", getTableDurationCardId())
                .append("storeInfo", getStoreInfo())
                .append("operationStore", getOperationStore())
                .append("operationType", getOperationType())
                .append("operatorName", getOperatorName())
                .append("phone", getPhone())
                .toString();
    }
}
